Interactive Content in a Messaging Platform

ABSTRACT

A messaging platform forms an interactive message with one or more components and broadcasts the interactive message to client devices associated with accounts. The interactive message has a plurality of states that update based on event data received from a content source. While the event is in progress, the messaging platform receives event data relating to the event and transitions to an updated state based on the received event data. When the interactive message transitions to the updated state, the messaging platform updates the interactive message broadcast to the client devices. The interactive message may include interactive components that accounts may use to perform various interactions with the event, the content source, or each other.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.15/657,804, filed Jul. 24, 2017, which is a continuation of U.S.application Ser. No. 15/370,851, filed Dec. 6, 2016, now U.S. Pat. No.9,749,283, which is a continuation of U.S. application Ser. No.14/192,834, filed Feb. 27, 2014, now U.S. Pat. No. 9,553,841, all ofwhich is incorporated by reference in its entirety.

BACKGROUND

Online messaging platforms provide an environment for sharing anddiscussing content. Accounts may discuss content posted by otheraccounts through social media content items (SMCIs). The content in aSMCI is static in that it does not change after the SMCI is authored.Although this property is suitable for many applications, static contentmay not accurately describe live events that are unfolding in real time.Static content in a SMCI may reflect out of date information, so therelevance of a SMCI diminishes over time. Additionally, SMCIs as a wholepresent a scattered picture of an event. A social media user seeking awider perspective on an event can search for SMCIs about an event, but asearch typically returns only a portion of SMCIs referring to an event.

BRIEF DESCRIPTION OF DRAWINGS

The disclosed embodiments have other advantages and features which willbe more readily apparent from the detailed description, the appendedclaims, and the accompanying figures (or drawings). A brief introductionof the figures is below.

FIG. 1 illustrates connections among agents interacting in a messagingenvironment, according to one embodiment.

FIG. 2 illustrates example components of a messaging platform, accordingto one embodiment.

FIG. 3 illustrates a flowchart of an example process for creating andupdating an interactive message, according to one embodiment.

FIG. 4 illustrates interactions between agents of the messagingenvironment and an interactive message, according to one embodiment.

FIG. 5 illustrates example interactions among agents for creating anddistributing an interaction aggregation, according to one embodiment.

FIGS. 6A and 6B illustrate an example user interface for presenting aSMCI containing an interactive message in reduced form and expandedform, respectively, according to one embodiment.

FIGS. 6C and 6D illustrate an example user interface for presenting aninteractive message in two successive states, according to oneembodiment.

FIG. 7 illustrates one embodiment of components of an example machineable to read instructions from a machine-readable medium and executethem in a processor (or controller).

DETAILED DESCRIPTION

FIGS. 1-7 and the following description relate to various embodiments byway of illustration only. It should be noted that from the followingdiscussion, alternative embodiments of the structures and methodsdisclosed herein will be readily recognized as viable alternatives thatmay be employed without departing from the principles of what isclaimed.

Reference will now be made in detail to several embodiments, examples ofwhich are illustrated in the accompanying figures. It is noted thatwherever practicable similar or like reference numbers may be used inthe figures and may indicate similar or like functionality. The figuresdepict embodiments of the disclosed system (or method) for purposes ofillustration only. One skilled in the art will readily recognize fromthe following description that alternative embodiments of the structuresand methods illustrated herein may be employed without departing fromthe principles described herein.

Configuration Overview

In one example embodiment, a messaging platform creates and updates aninteractive message having a plurality of states. The messaging platformreceives a request from an account of an event moderator to initiate aninteractive message. The request specifies a message type and a contentsource. The messaging platform forms the interactive message including aplurality of states associated with an event. The interactive message isstructured according to a template retrieved based on the message type.The template has one or more components structured to present contentrelevant to the event. The messaging platform broadcasts the interactivemessage for presentation to users of receiving accounts by clientdevices.

While the event is in progress, the messaging platform receives eventdata relating to the event. The received event data are received fromthe content source. Based on the event data, the messaging platformtransitions the interactive message to an updated state from theplurality of states. In response to transitioning to the updated state,the messaging platform updates the interactive message broadcast to theaccounts. Updating the interactive message may include presenting theupdates to users of accounts that have received the interactive messageby updating a representation of the interactive message presented by aclient device. It is noted that the disclosed embodiments include,without limitation, methods, systems, and computer-readable media forcreating and updating the interactive message.

Messaging Environment

Referring now to FIG. 1, illustrated are connections among agentsinteracting in a messaging environment, according to one exampleembodiment. The agents include a content source 110, a messagingplatform 120, an event moderator 130, a client device 140, and a network150. It is noted that multiple instances of the disclosed agents may bepresent in various embodiments, and that references herein to an agent(e.g., a content source 110, an event moderator 130, a client device140, et cetera) generally refer to one or more of the agents. In analternative embodiment, the functionalities of multiple agents may bemerged, modified, or split into a functionally equivalent set of agents.

To form an interactive message, the messaging platform 120 uses eventdata, which describe facets of an event (e.g., a sporting event, a race,an awards show, a political event, a news event, a musical concert, afashion show, a contest, a live chat with a celebrity over theInternet). Event data may include any data gathered from an eventincluding images, text, numerical data, and time-based media (TBM)content. Example text includes closed-captions, transcriptions ofbroadcast audio, and descriptions of the event. Numerical data caninclude manually input data and data from devices and sensors thattransmit data. For example, event data from a sporting event includestatistics from a scorekeeper recording the results of plays and datafrom sensors that monitor game participants and objects (e.g., radarthat records a ball's position or speed, a Global Positioning System(GPS) sensor that tracks the position of a motor sports eventparticipant, a physiological sensor on an event participant). TBMcontent has a time component and includes broadcast television, radio,videos, animations, audio files, and interactive media (e.g., a game,virtual reality, an interactive advertisement). Event data may beobtained from a variety of sources, such as local or network stores, aswell as directly from sensors or capture devices such as cameras, videorecorders, microphones, and live broadcasts. It is anticipated thatother types of event data within the scope of the disclosed embodimentswill be developed in the future (e.g., three-dimensional media).

A content source 110 disseminates event data from an event in progressover the network 150. The content source 110 may be an entity thatorganizes an event (e.g., a sports league, an industry associationorganizing an awards show), or an entity that distributes event data(e.g., a television network, a radio station, a news service, awebsite). The content source 110 captures event data and provides theevent data in a suitable form to the agents (e.g., the messagingplatform, the event moderator, et cetera). For example, the contentsource 110 streams video footage of a baseball game and uploads gamestatistics and photographs of players to a web server accessible by theagents substantially in real time. Real time communication can include,for example, receiving event data while the event is in progress and/orduring concurrent sessions established with the messaging platform(e.g., a first session with a content source and a second session with aclient device 140). The content source 110 may implement accessrestrictions such as granting certain agents access to certain eventdata. Multiple content sources 110 may disseminate event data about thesame event. For example, a television network disseminates TBM contentabout a presidential debate, and the debate organizer disseminates eventdata indicating the current question or issue under discussion as wellas remaining time allotments for speaking. The content source 110 mayreceive interaction aggregations from the messaging platform 120, whichmay be incorporated in event data. For example, a broadcast of apresidential debate incorporates an interaction aggregation summarizingsentiment towards the presidential candidates based on interactions witha corresponding interactive message.

The messaging platform 120 creates and distributes interactive messagesbased in part on event data received from one or more content sources110. The messaging platform 120 may include components of a socialnetworking service (SNS) such as a social network, forum, or user group.The messaging platform 120 enables accounts (also referred to asauthors) to communicate and interact with other accounts through themessaging platform 120. An account may author or redistribute socialmedia content items (SMCIs) such as interactive messages, posts, videos,photos, links, status updates, blog entries, profiles, and the like. Aninteractive message presents event data from an event and may alsoinclude author-created content. For example, an account redistributes aninteractive message and includes an author reaction. An interactivemessage is associated with a plurality of states. Based on a presentstate, the interactive message may present different event data or othercontent.

The event moderator 130 initiates the interactive message. In oneembodiment, the event moderator 130 selects a message type and an eventto create an interactive message. The event moderator 130 configures theinteractive message to present event data and to update in response toevent data. Updating an interactive message includes transitioningbetween states of the interactive message and/or presenting different ormore current event data. The event moderator 130 may manually update theinteractive message as an alternative or supplement to automatic updatesbased on event data. The event moderator 130 may additionally addmoderator content such as text, an image, or TBM content to aninteractive message. For example, the event moderator 130 initiates aninteractive message about a baseball game. The interactive messagepresents pitch selection and velocity (event data) and textualcommentary submitted by the event moderator 130 (moderator content). Theevent moderator 130 may be an account of the messaging platform 120 ormay be associated with a content source 110. For example, a televisionbroadcaster initiates and maintains an interactive message in additionto broadcasting video footage of an event.

The client device 140 presents the interactive message to a user of areceiving account for subsequent interaction. Client devices 140 includemobile devices (e.g., smart phones, tablets, personal digitalassistants, smart watches) and computers (e.g., desktops, laptops).Computers and mobile devices are described further with respect to FIG.7. A client device 140 may be associated with one or more accounts ofthe messaging platform 120. As used herein, a client device 140 refersto the physical client device 140 as well any associated accounts, humanusers, and/or simulated human users of the client device 140.

The network 150 comprises components for transmitting informationbetween agents using wireless and/or wired media. For example, a networkincludes wide-area and local-area networks such as electromagneticbroadcasting systems, satellite networks, cellular networks, fiber opticnetworks, cable networks, or the Internet. The network 160 may includemultiple networks transmitting information with analog signals, digitalsignals, or a combination thereof. The network may include a contentdelivery network that distributes content using servers distributedacross multiple data centers located in different geographicallocations.

Messaging Platform

FIG. 2 illustrates example components of the messaging platform 120,according to one embodiment. The messaging platform 120 includes anaccount data store 205, an event data store 210, a template store 215, acontent retrieval module 220, a message layout engine 225, a messagerouting module 230, an interaction module 235, a state trigger module240, an interaction analysis module 245, an account interface 250, anevent moderator interface 255, a web server 260, and an applicationprogramming interface (API) 265. For clarity of description, data storecomponents are described first, interactive message modules aredescribed second, user interface components are described third, andcommunication modules are described last.

Data Store Components

The account data store 205 stores information regarding accounts of themessaging platform 120. Examples of stored data include identifyinginformation such as a user name, an account identifier, a password, oneor more profile images, one or more user locations, an associatedwebsite, a biography, an email address, a phone number, contentpreferences, privacy settings, demographic information, accountassociations with other accounts of the message platform 120, andassociations with other social networking systems. Content preferencesinclude interests or preferred topics or genres for the account, asexplicitly provided by the user of an account associated with a clientdevice 140, or as inferred from the account's authored SMCIs. Similarly,other information stored in the account data store may be receivedthrough a client device 140 and/or inferred by the messaging platform130. In one embodiment, a content source 110 or an event moderator 130has an account on the messaging platform 120, and thus has acorresponding entry in the account data store 205.

In one embodiment, the account data store 205 contains connectioninformation forming a connection graph. The graph may containunidirectional and/or bidirectional connections. For example, an accountmay “follow” a source account and is, therefore, subscribed to receivemessages from the source account. In this example, graph data associatedwith the account indicates a unidirectional connection to the sourceaccount. As a second example, two accounts may connect with each other,forming a bidirectional connection. In this second example, each of thetwo accounts receives messages published by the other account.

The account data store 205 logs account actions on the messagingplatform 120 including adding an association with another account,authoring a SMCI, sending a SMCI to another account, and reading a SMCIfrom another account. The account data store 205 logs a date and timecorresponding to a logged action. Logged actions include interactionswith interactive messages. These logged account actions may be used todetermine relevance of an interactive message to an account. Forexample, an account authors a SMCI that includes content related to anevent. The action is logged and the message routing module 230 infersthat the event is relevant to the account. The message routing module230 may identify the account to receive an interactive message relatedto the inferred event.

The event data store 210 contains event data that have been retrievedfrom or received from the content source 110. The event data store 210contains event data and/or references to event data stored elsewhere(e.g., a content delivery network, the content source 110, a third-partyserver). The stored event data may include metadata about the eventdata. For example, metadata about TBM content may include a title, adescription, the content source 110, and the associated event. Metadataabout a sensor device may include the content source 110 as well as thesensor device type and location, for example.

The template store 215 includes one or more templates structured tovisually and/or aurally present event data in an interactive message. Atemplate specifies one or more components, as well as a visual and/ortemporal arrangement of the components. A component may present eventdata associated with the interactive message, moderator content, or aninteraction with the interactive message by an account. A template maybe adapted for a particular type of client device 140 or group thereofbased on display characteristics (e.g., aspect ratio, display area size,display resolution), computing characteristics (e.g., operating systemtype, browsing application type, processing speed, available memory),and aural characteristics (e.g., presence of audio playback devices,volume information). In other words, different client devices 140 maypresent a template differently to adapt to client device capabilities.In one embodiment, a template presents a different arrangement ofcomponents depending on a current state (e.g., most recently updatedstate) of the interactive message. Example components include a title, adescription, a summary, a category, a byline, an image, text, TBMcontent, and an interactive component. Components that are associatedwith interactions are referred to herein as “interactive components.”

Interactive Message Modules

The content retrieval module 220 communicates with the content source110 to retrieve event data. The event data may be used by the messagelayout engine 225 and/or may be stored in the event data store 210. Inone embodiment, the content retrieval module 220 requests updated eventdata from the content source 110. Alternatively or additionally, thecontent retrieval module 220 monitors the content source 110 for changesand retrieves updated event data substantially in real time. In oneembodiment, the content retrieval module 220 receives updates sent bythe event source 110 substantially in real time. The content retrievalmodule 220 updates event data in the event data store 210, which may beretrieved by the layout engine 225 or by a client device 140.

The message layout engine 225 forms an interactive message using atemplate retrieved from the template store 215. The formed interactivemessage is presented using the account interface 250. Based on a messagetype specified by the event moderator 130, the message layout engine 225selects a template for presenting the interactive message. The messagelayout engine 225 maps event data, interactions, interactionaggregations, and/or moderator content onto components of the selectedtemplate. For example, an interactive message invites users of receivingaccounts to predict the outcome of the next play in a football game.Some of the example components offer options to predict a play outcomeand others indicate an account's last play prediction and the actualoutcome. As another example, an interactive message covering a politicalspeech includes components that present, to a user of a receivingaccount, supplementary statistics and evidence from the speaker'spolitical party and/or components that present rebuttal arguments andstatistics from a political party that opposes the speaker.

In one embodiment, the message layout engine 225 personalizes a layoutfor an account based on associations with other accounts retrieved fromthe account data store 205. For example, a template includes a socialinteraction component that presents interactions with the interactivemessage by other accounts associated with an account. In one embodiment,the message layout engine 225 associates a component with a reference toevent data or moderator content, and a client device 140 retrieves theevent data or moderator content for the component (e.g., from the eventdata store 210, from the content source 110, from an external server).

The message routing module 230 determines accounts to receive abroadcast interactive message based in part on information from theaccount data store 205. In one embodiment, the event moderator 130specifies one or more accounts to receive an interactive message.Alternatively or additionally, the message routing module 230 retrievesaccounts associated with an account of the event moderator 130 from theaccount data store 205. These associated accounts are selected toreceive the interactive message. The message routing module 230 mayselect an account to receive the interactive message based on a statedor inferred preference of that account. For example, an account with astated preference to receive SMCIs about movies is selected to receivean interactive message about an ongoing movie awards show. As anotherexample, an account authors multiple SMCIs about a local baseball team.Based on the SMCIs, a preference for baseball is inferred, so themessage routing module 230 selects the account to receive an interactivemessage associated with a game that the local baseball team is playing.In one embodiment, an account that receives a broadcast interactivemessage can direct the message routing module 230 to broadcast theinteractive message to accounts associated with the receiving account orone or more accounts specified by the receiving account.

More broadly, the message routing module 230 determines accounts toreceive messages broadcast or multicast through the messaging platform120. In one embodiment, the account data store 205 contains connectioninformation stored as graph data. When a sending account broadcasts amessage through the messaging platform 120, the message routing module230 identifies one or more recipient accounts based on the predefinedgraph relationships in the account data store. For example, a user of asending account participates in an interactive message and opts to sharethe interactive message with followers of the sending account. In thisexample, the routing module 230 identifies recipient accounts to receivethe interactive message. Hence, accounts besides the event moderator 130can broadcast an interactive message in one embodiment.

The interaction module 235 handles interactions between a user of areceiving account and an interactive message. In one example embodiment,an interactive message contains one or more interactive components thata user of a receiving account may activate to interact with aninteractive message. Interactions include an answer to an objectivequestion about an ongoing, past, or future event, an answer to asubjective question about an ongoing, past, or future event, a reactionto another account's interaction, a transaction, an identification ofevent data in a component of the template, a reaction, or a command.Example objective questions include predicting an award winner at anawards show, a play's outcome in a sporting event, a winning team in agame, a winning participant in a race, or weather on a particular day(e.g., a measure of precipitation, a temperature). At some point duringan event, the state trigger module 240 transitions to an updated state,and the interaction module 235 determines whether answers from variousaccounts to the objective question are correct or incorrect based on theupdated state. The account interface 250 may update the interactivemessage presented by the client device 140 to indicate whether the userof the receiving account has answered the objective question correctlyor incorrectly (e.g., a component of the interactive message indicateswhether a user of a receiving account's prediction was vindicated).Example subjective questions include an expression of opinion, a ratingof a media event, a selection of a favorite play at a sporting event, ora positive or negative reaction to a political candidate's speech.

In one embodiment, the interaction module 235 receives (through a clientdevice 140) an identification of event data from a user of a receivingaccount. Using a client device 140, the user of the receiving accountidentifies event data in an interactive component by identifying eventdata (e.g., an object, a person, a segment of TBM content incorporatedin another segment of TBM content), extracting a feature from eventdata, or associating supplemental information with event data. Forexample, a client device 140 of a receiving account presents an image ofan athlete; the client device 140 then receives a selection indicatingthe portion of the image representing the athlete's face and an inputidentifying the athlete's name. As another example, a client device 140presents a video of a race to a user of a receiving account; the clientdevice 140 receives a selection of the portions of the video containingthe race car as well as a textual input identifying the driver of theracecar or the racecar's team name. Similarly, a client device 140 mayreceive a location associated with an image or a video component from auser of a receiving account. Client devices 140 may receive inputs fromusers of receiving accounts to extract features such as the winning sailboat in a race or the official scoring of a baseball play. In oneembodiment, a client device 140 presents an image or TBM media showingan object in a component, and the client device 140 receivessupplemental information about the person or object. For example, a userof a receiving account provides (through a client device 140)supplemental information about an actress's birthday or a reference to adocumentary about an actor's difficulties with hotel housekeeping staff.The interaction module 235 records event data received throughinteractions. Through interactive components that identify event data, auser of a receiving account may contribute event data in a similarmanner to an event moderator 130.

In one embodiment, the interaction module 235 handles reactions tointeractions. An example template presents a social interactioncomponent next to a reaction component. Using a reaction component, auser of a receiving account can react to an interaction by anotheraccount through a client device 140. Example reactions include a unaryreaction (e.g., a like, a favorite), a binary reaction (e.g., up-vote ordown-vote, like or dislike), a multiple choice reaction (e.g.,emoticons, adjectives), or a custom reaction (e.g., a text box, auser-submitted image, user-submitted TBM). For example, a client device140 receives an emoticon input selected by a user of an account to tauntthe user of another account about an incorrect prediction or to expressshock at another account user's opinion of an actress's dress. Theinteraction module 235 records interactions and notifies an interactingaccount when another account reacts to the interacting account'sinteraction.

The interaction module 235 handles transactions such as a donation,sale, purchase, or wager. For example, an interactive message about acharity benefit concert invites a user of a receiving account to donateto the charity or buy memorabilia, or an interactive message about ahorse race includes a component that sells a wager on the horse race toan account. Through a social interaction component, client devices 140present an account's transaction interaction to users of other receivingaccounts. The interaction module 235 includes handling of interactivemessage commands such as a start, pause, stop, rewind, or fast-forwardcommand to control playback of TBM content (e.g., using a video or audioplayer associated with a component). Other example commands share aninteractive message with one or more accounts associated with a clientdevice's account (e.g., based on graph data or connection data from theaccount data store 205) or share an account's interaction with anotheraccount.

The interaction module 235 records interactions for use by theinteraction analysis module 245. In one embodiment, the interactionmodule 235 collects interactions by various accounts and presents themin a social interaction component of a template presented by a clientdevice 140. The interaction module 235 may select interactions topresent to a user of a receiving account via a client device 140according to accounts connected to the receiving account. Alternativelyor additionally, the interaction module 235 selects interactions topresent to a user of a receiving account (via a client device 140) basedon other data retrieved from the account data store 205 such asgeographic proximity or demographics, or based on information about thereceived interactions (e.g., time priority, response diversity).

The state trigger module 240 uses triggers such as event data, a SMCI,an interaction, and/or manual commands from an event moderator 130 toupdate a state associated with an interactive event. An interactivemessage has a plurality of states, which are predefined. The interactivemessage transitions from a current event state to an updated event stateaccording to triggers associated with the current state (e.g., mostrecently updated state). The interactive message template updates inresponse to a state transition. For example, the components of thetemplate presented to a user of a receiving account change, or the eventdata or content presented in a component changes. For example, aninteractive message about a baseball game has an “at-bat” and a “bigplay” state. In the “at-bat” state, the template presents event datafrom pitch sensors, and includes interaction components prompting usersof receiving accounts to predict the next pitch type and to transmittheir selection to the messaging platform 120 through their clientdevices 140. When the content retrieval module 220 receives event dataindicating that a batter has reached a base or scored, the state triggermodule 240 transitions to the “big play” state, which includes a videoplayer component that shows a replay of the base hit or score.

In one embodiment, the state trigger module 240 analyzes event data toextract features from images or TBM content. Generally, featureextraction recognizes a coherent portion (spatial or temporal) of animage or TBM content and/or links a recognized portion to a linguisticdescription. Feature extraction includes recognizing faces or objects,associating audio with an object in a video, speech to text processing,recognizing meaningful breakpoints in TBM content, simplifying a videosequence to a textual description of events, or inferring numerical dataabout an object from a video. For example, feature extraction identifieswhen a football play begins and ends, the position of the ball to startthe next play, the team with possession to start the next play, orwhether any points were scored. Based on recognizing that a play hasoccurred, the state trigger module 240 transitions between states in arelated interactive message. As another example, the state transitionmodule 240 recognizes, from a video feed of a concurrent broadcast, anactor or actress arriving at a movie awards show and transitions to astate specific to the recognized actor or actress.

In one embodiment, the state trigger module 240 analyzes SMCIs receivedby the message platform 120 to trigger a state transition. The statetrigger module 240 infers event data from received SMCIs based ontextual linguistic analysis and/or feature extraction of images or TBMcontent in a SMCI. Inferring event data may rely on statistical methodsthat account for the number of accounts mentioning similar combinationsof words and/or trustworthiness of accounts (e.g., based on aninstitutional affiliation). Inferring event data may include analysis ofdata from the account data store 205 and/or correlation with event data.For example, the state trigger module 240 infers that a musician has wonan award at an awards show based on SMCIs received substantially in realtime about the award and the musician. The state trigger module 240weights a SMCI associated with the musician's record label or the awardgranting institution higher than it weights a SMCI from a typicalaccount. As another example, the state trigger module 240 recognizes ascore in a game (e.g., a goal in a soccer game) based on category tagsin SMCIs. In this example, the recognized goal triggers a state changein an interactive message about the soccer game.

In one embodiment, the state trigger module 240 receives event data fromthe event moderator 130 that indicate the updated state for the nexttransition. In other words, the event moderator 130 manually instructsthe state trigger module 240 to transition the interactive message to aspecified updated state. In one embodiment, the state trigger module 240uses event data gathered from interactions with an interactive message.Based on an analysis of an interactive message component that promptusers of receiving accounts to identify event data in a component, thestate trigger module 240 identifies a trigger to transition betweenstates. The techniques used may be similar to those used to infer eventdata from SMCIs.

The interaction analysis module 245 creates interaction aggregationsfrom received interactions. An interaction aggregation is a textual,graphical (e.g., a bar graph, a pie chart), numerical, and/or TBMcontent summary of interactions. For example, the interaction analysismodule 245 computes percentage responses of accounts that like anddislike a decision to award a painter in a concurrently broadcast artawards ceremony. Interactions may be aggregated according todemographic, geographic, or other information from the account datastore 205. For example, an interactive message that asks users ofreceiving accounts to predict the outcome of a game between two sportsteams. The interaction analysis module 245 may create a graphicalrepresentation of responses overlaid on a map. For example, an imagedemonstrates interactive responses over time, or an animation presentsinteractive response over time.

In one embodiment, a component of an interactive message template maypresent the interaction aggregation. An interaction aggregation mayinclude data from a subset of accounts on the messaging platform 120such as other accounts associated with an account or accounts that sharea characteristic with an account (e.g., geographic, demographic, otherinformation from the account data store 205). For example, a templatepresents an aggregation interaction based on accounts that went to thesame undergraduate institution as the account associated with a viewingclient device 140.

User Interface Components

The account interface 250 is structured to present the components of atemplate as well as event data, moderator content, interactions, orinteraction aggregations mapped to the components by the message layoutengine 225. One embodiment of the account interface 250 is describedwith respect to FIGS. 6A-6C.

In one embodiment, the account interface 250 presents interactionsrecorded by the interaction module 235 to users of receiving accounts aspart of an interactive message. The message routing module 230 mayidentify one or more accounts of interest to a receiving account basedon graph data and connections. For example, an interface componentpresents, to the user of a receiving account, interactions of accountsthat the receiving account is subscribed to. As a more specific example,the account interface 250 presents donations made by accounts areceiving account is subscribed to. The message routing module 230 mayidentify accounts to present based on an analysis of graph data (e.g.,common subscriptions and common subscribers between the presentedaccount and the receiving account) or an analysis of logged accountactions (e.g., number and type of actions with the presented account).In one embodiment, the message routing module 230 may filter accountsthat a receiving account is subscribed to for accounts that haveinteracted with the interactive message. The remaining accounts arescored based on the receiving account and ranked; top-ranking accountsare selected for presentation in an interactive message component to theuser of the receiving account.

The event moderator interface 255 is structured to present an interfacefor an event moderator 130 to initiate an interactive message. In oneembodiment, the event moderator interface 255 includes a plurality ofprebuilt templates structured for a class of events. Alternatively oradditionally, an event moderator 130 may select and/or arrangecomponents to create or edit a template. The event moderator 130 mayselect event data from a content source 110 to associate with componentsof a template. For example, an event moderator 130 selects event datasuch as an image that a first component presents regardless of thestate, and the event moderator 130 selects event data (e.g., statistics)that a second component presents depending on the most recently updatedstate of the interactive message.

Communication Modules

The web server 260 links the messaging platform 120 to the network 150and other agents coupled thereto, and is one means for doing so. The webserver 260 may include messaging functionality for receiving and routingdata between the agents. The web server 260 serves web pages, as well asother web related content, such as Java, Flash, and so forth. Exampleweb pages are represented using HyperText Markup Language (HTML),Extensible Markup Language (XML), JavaScript Object Notation (JSON),and/or PHP: Hypertext Preprocessor (PHP).

The API 265, in conjunction with web server 260, allows one or moreexternal entities to access information from the messaging platform 120.The web server 260 may also allow external entities to send informationto and/or receive information from the messaging platform 120 throughthe API 265. For example, an external entity sends an API request to themessaging platform 120 via the network 150 and the web server 260receives the API request. The web server 260 processes the request bycalling an API 265 associated with the API request to generate anappropriate response, which the web server 260 communicates to theexternal entity (e.g., an application on the client device 140) via thenetwork 150.

Interactive Message Creation

FIG. 3 illustrates a flowchart of an example process for creating andupdating an interactive message, according to one example embodiment. Tobegin the process, the web server 260 or the API 265 receives 310 aninteractive message request from an event moderator 130. The requestspecifies a message type and at least one content source 110. Themessage layout engine 225 forms 320 an interactive message comprising aplurality of states associated with an event. The specified contentsource 110 corresponds to the event that an interactive message covers.The message layout engine 225 structures the interactive messageaccording to a template retrieved from the template store 215. Theselection of the retrieved template depends on the specified messagetype, and the template comprises one or more components. Forming theinteractive message comprises associating event data received by thecontent retrieval module 220 with one or more components of thetemplate.

The message routing module 230 selects one or more accounts to receive abroadcasted interactive message. The messaging platform 120 broadcasts330 the interactive message for presentation to users of the selectedaccounts using client devices 140. In one embodiment, broadcasting aninteractive message includes making the interactive message available onthe web server 260 or through the API 265 to accounts on the messagingplatform 120, including accounts not selected by the message routingmodule 230 to receive the interactive message. For example, theinteractive message appears in related search results and/or isaccessible through a webpage. As another example, an application on aclient device 140 accesses the interactive message through the API 265.A “broadcast” SMCI may be received or accessed by all accounts, a subsetof accounts chosen by the event moderator 130, and/or a subset ofaccounts selected by the message routing module 230.

While the event is in progress, the content retrieval module 220receives 340 one or more instances of event data relating to the event.In one embodiment, the one or more instances of event data are receivedsubstantially in real time from the content source 110. The statetrigger module 240 determines 350 if the received one or more instancesof event data trigger a state transition. If the one or more instancesof event data trigger a state transition, the state trigger module 240also determines an updated state and transitions 360 the interactivemessage to that updated state 360. If the received one or more instancesof event data do not trigger a state transition, the messaging platformwaits to receive 340 and evaluate additional event data. In response totransitioning to the updated state, the content retrieval module 220updates 370 the interactive message broadcast to the plurality ofaccounts. For example, the content retrieval module 220 pushes eventdata related to updated event components of an interactive eventtemplate presented by the client devices 140.

In one embodiment, the state trigger module 240 uses the messagingplatform 120 as a content source 110. To transition 360 the state, thecontent retrieval module 220 obtains a plurality of SMCIs that includecontent such as text, an image, TBM content, and/or a tag. The statetrigger module 240 determines the updated state based, at least in part,on an analysis of the content of the plurality of SMCIs. Alternativelyor additionally, the interactive message's event is associated withconcurrently broadcast content and the content retrieval module receives340 event data comprising the concurrently broadcast content. The statetransition module 240 determines the updated state based on, at least inpart, features extracted from the concurrently broadcast content. In oneembodiment, the content retrieval module 220 receives 340 an instance ofevent data from the event moderator 130. The received instance of eventdata directly indicates the updated state for a next transition.

The messaging platform repeatedly receives 340 event data, determines350 if the event data trigger a state transition, transitions 360 to theupdated state, and updates 370 the interactive message while the eventis in progress. An event is in progress while the corresponding one ormore content sources 110 produce or transmit updated event data. Forexample, a content source 110 about a football game transmits updatesbefore the game (e.g., injury reports, pregame interviews), during thegame (e.g., broadcast footage, play results, player statistics), andafter the game (e.g., fan reactions, player interviews), so the event isin progress during all of these time periods. If no further event dataare received 340, then the process ends after updating 370 theinteractive message.

Interactions with an Interactive Message

FIG. 4 illustrates interactions between agents of the messagingenvironment and an interactive message, according to one embodiment. Themessage layout engine 225 forms 410 an interactive message, and themessage routing module 230 broadcasts the interactive message to clientdevices 140A and 140B. In the illustrated embodiment, the message layoutengine 225 forms 410 the interactive message using a template thatcomprises one or more interactive components. The user of an interactingaccount, which has received the interactive message, interacts 420 (viathe client device 140A) with an interactive component of the broadcastinteractive message and reports to the interaction to the messagingplatform 120. The interaction module 235 receives the interactionassociated with the interacting account and records the interaction. Themessage layout engine 225 updates 430 the interactive message with theuser of the interacting account's interaction by associating thereceived interaction with a social interaction component of theinteractive message's template. The messaging platform 120 broadcaststhe update to accounts via the client devices 140, including clientdevice 140B. The messaging platform may receive a plurality ofinteractions from a plurality of client devices 140, which are alsoassociated with the social interaction component structured to presentthe plurality of interactions.

As illustrated, client device 140B receives the broadcast interactionand presents 440 the interacting user's interaction to a user of areacting account. The interaction is presented through a socialinteraction component along with interactions from other accounts thatmay have been received. In one embodiment, the interactive messageincludes interaction components that support reactions. The user of thereacting account, reacts 450 (using client device 140B) to aninteraction from the interacting user of client device 140A and reportsthe reaction to the messaging platform 120, similar to reporting forother interactions. The interaction module 235 records the reactingaccount's reaction to the interaction from the interacting account. Themessage layout engine 225 updates 460 the social interaction componentof the interactive message to present the reaction to the user of theinteracting account. The messaging platform 120 broadcasts the update toclient devices 140, including the client device 140A of the interactiveaccount. The message platform may receive a plurality of reactions froma plurality of client devices 140 to one or more interactions presentedin a social interaction component. The client device 140A presents 370the reaction from the reacting account to the user of the interactingaccount in the updated social interaction component.

Aggregation of Interactions with an Interactive Message

FIG. 5 illustrates example interactions among the messaging platform120, a plurality of client devices 140, and a content source 110. Theagents create and distribute an interaction aggregation, according toone embodiment. In one embodiment, the message layout engine forms 510an interactive message and broadcasts the interactive message to aplurality of accounts associated with client devices 140. Users of thereceiving accounts interact 520 with the interactive message, and theirclient devices 140 report the plurality of interactions to theinteraction module 235. Based on the received plurality of interactions,the interaction analysis module 245 determines 530 an interactionaggregation. The message layout engine 225 associates the interactionaggregation with a component of the template structured to present theinteraction aggregation.

In one embodiment, the message routing module 230 broadcasts theinteraction aggregation to a content source 110, which presents 540 theinteraction aggregation through broadcast or multicast media. Thecontent source 110 may be a provider of concurrently broadcast contentthat incorporates the broadcast interaction aggregation from themessaging platform 120 into a televised broadcast. For example, aninteractive message includes an objective question about which team willwin a football game. In this example, a determined interactionaggregation indicates percentages of accounts that have picked eachteam. These percentages are incorporated into a broadcast telecast ofthe game in the form of a graph indicating predictions by the users ofthe receiving accounts about the game winner over the course of thefootball game.

Alternatively or additionally, the message layout engine 225 updates 550the interactive message with the interaction aggregation. For example, acomponent structured to present the interaction aggregation to a user ofa receiving account is updated. The message routing module 230broadcasts the interaction aggregation to one or more of the pluralityof client devices 140, which present 560 the interaction aggregation toa plurality of users of receiving accounts. For example, a client device140 indicates aggregate predictions from accounts associated with thereceiving account of the user of the client device 140.

Example User Interface

FIGS. 6A and 6B illustrate an example user interface for presenting aSMCI containing an interactive message in reduced form and expandedform, respectively, according to one embodiment. The example userinterface is presented on a client device 140 structured to present oneor more SMCIs through the account interface 250 to a user of a receivingaccount. The SMCI containing the interactive message includes componentssuch as a profile image 605, a user name 610, an account identifier 615,SMCI content 620, a view button 621, a reply button 622, a share button623, and a favorite button 624. The profile image 605, user name 610,and account identifier 615 are associated with an account of the eventmoderator 130 that initiated the interactive message. The eventmoderator 130 selects a profile image 605 and user name 610 whenregistering an account with the messaging platform 120. Users ofaccounts may use the account identifier 615 to send SMCIs to the eventmoderator 130, find SMCIs authored by the event moderator 130, or tonavigate to a webpage associated with the account of the event moderator130. The SMCI presents SMCI content 620 describing the interactivemessage and authored by the event moderator 130.

To view the interactive message, in one embodiment, a user of thereceiving account selects the view button 621, which presents theexpanded form of the interactive message. The reduced form of theinteractive message may include standard functionality associated with aSMCI. For example, a user of a receiving account may use the replybutton 622 to broadcast an SMCI to the event moderator 130, or use theshare button 623 to broadcast the SMCI to other accounts associated withthe receiving account using the message routing module 230. The user ofthe receiving account may mark the SMCI as a favorite to add the SMCI toa collection of favorite SMCIs and/or to provide feedback to the eventmoderator 130.

Turning to FIG. 6B, illustrated is the SMCI of FIG. 6A in an expandedform to present the contained interactive message. In the expanded form,the SMCI includes additional components such as a prompt interactivecomponent 625, response interactive components 630A, and moderatorcontent 635. The response interaction components (generally 630) may bedivided into two or more selectable regions within the user interface.Each region may correspond with a pre-specified response that isrecorded if selected. The prompt interactive component 625 presents anobjective question to the user of a receiving account, who may make aprediction about which football team is going to win the game using theresponse interactive components 630A (e.g., select one side or the otherof the response interactive component 630A). The interaction module 235records interactions between the user of the receiving account and theresponse interactive components 630A. Moderator content 635 may indicatean event moderator's commentary on the event or instructions forinteracting with the interactive message.

FIGS. 6C and 6D illustrate an example user interface for presenting aninteractive message in two successive states, according to oneembodiment. In an initial state, illustrated in the example userinterface of FIG. 6C, the interactive message presents an arrangement ofcomponents including a profile image 605, a user name 610, an accountidentifier 615, SMCI content 620, a prompt interactive component 625,and response interactive components 630B. The arrangement of componentscorresponds to an example pre-kickoff state that prompts the user of areceiving account to predict the result of a kickoff. Using the responseinteractive components 630B, the users of receiving accounts can predictthe result of a kickoff play.

Based on event data from a content source 110, the state trigger module240 triggers the interactive message to transition to an updated state.A user interface corresponding to the updated state is illustrated inFIG. 6D. In the updated state, the interactive message presents anarrangement of components including the profile image 605, the user name610, the account identifier 615, the SMCI content 620, a resultindicator 640, an interaction aggregation 645, a social interactioncomponent 650, account identifiers 655, a prediction 660, and reactions665. The arrangement of components corresponds to an examplepost-kickoff state that indicates the result of the kickoff and otheraccounts' predictions for the result of the kickoff. The resultindicator 640 indicates the result of the previous play based on eventdata from the content retrieval module 220. The interaction aggregation645 indicates a percentage of accounts that predicted a given outcome asdetermined by the interaction analysis module 245.

The social interaction component 650 is structured to present, to a userof a receiving account, an interaction that the interaction module 235received from another interacting account. In one embodiment, theaccounts presented in a social interaction component are based, at leastin part, on directional connections between the receiving account andother accounts. For example, the user of the receiving accountsubscribes to the displayed accounts in the social interactioncomponents 650. The interaction identifiers 655 include the profileimage, user name, and account identifier of the interacting account. Theprediction 660 indicates that interacting account's answer to theobjective question. The user of the receiving account may select one ormore reactions 665 to cheer with, commiserate with, or taunt theinteracting account.

Computing Machine Architecture

Referring now to FIG. 7, illustrated is a block diagram illustratingcomponents of an example machine able to read instructions from amachine-readable medium and execute them in a processor (or controller).Specifically, FIG. 7 shows a diagrammatic representation of a machine inthe example form of a computer system 700 within which instructions 724(e.g., software or a computer program product) for causing the machineto perform any one or more of the methodologies discussed herein may beexecuted. The instructions 724 correspond to processes or functionality,as described in FIGS. 1-6D. In alternative embodiments, the machineoperates as a standalone device or may be connected (e.g., networked) toother machines. In a networked deployment, the machine may operate inthe capacity of a server machine or a client machine in a server-clientnetwork environment, or as a peer machine in a peer-to-peer (ordistributed) network environment.

The machine may be a server computer, a client computer, a personalcomputer (PC), a tablet PC, a set-top box (STB), a personal digitalassistant (PDA), a cellular telephone, a smart phone, a web appliance, anetwork router, switch or bridge, or any machine capable of executinginstructions 724 (sequential or otherwise) that specify actions to betaken by that machine. Further, while only a single machine isillustrated, the term “machine” shall also be taken to include anycollection of machines that individually or jointly execute instructions724 to perform any one or more of the methodologies discussed herein.

The example computer system 700 includes one or more processors 702(generally, a processor 702) such as a central processing unit (CPU), agraphics processing unit (GPU), a digital signal processor (DSP), one ormore application specific integrated circuits (ASICs), one or moreradio-frequency integrated circuits (RFICs), or any combination ofthese, a main memory 704, and a static memory 706, which are configuredto communicate with each other via a bus 708. The computer system 700may further include graphics display unit 710 (e.g., a plasma displaypanel (PDP), a liquid crystal display (LCD), a projector, or a cathoderay tube (CRT)). The computer system 700 may also include alphanumericinput device 712 (e.g., a keyboard), a cursor control device 714 (e.g.,a mouse, a trackball, a joystick, a motion sensor, or other pointinginstrument), a storage unit 716, a signal generation device 718 (e.g., aspeaker), and a network interface device 720, which also are configuredto communicate via the bus 708. The display unit 710 may be integratedwith the alphanumeric input device 712 and/or cursor control device 714(e.g., a touch screen display).

The storage unit 716 includes a machine-readable medium 722 on which isstored instructions 724 (e.g., software) embodying any one or more ofthe methodologies or functions described herein. The instructions 724(e.g., software) may also reside, completely or at least partially,within the main memory 704 or within the processor 702 (e.g., within aprocessor's cache memory) during execution thereof by the computersystem 700, the main memory 704 and the processor 702 also constitutingmachine-readable media. The instructions 724 (e.g., software) may betransmitted or received over a network 726 via the network interfacedevice 720.

While machine-readable medium 722 is shown in an example embodiment tobe a single medium, the term “machine-readable medium” should be takento include a single medium or multiple media (e.g., a centralized ordistributed database, or associated caches and servers) able to storeinstructions (e.g., instructions 724). The term “machine-readablemedium” shall also be taken to include any medium that is capable ofstoring instructions (e.g., instructions 724) for execution by themachine and that cause the machine to perform any one or more of themethodologies disclosed herein. The term “machine-readable medium”includes, but not be limited to, data repositories in the form ofsolid-state memories, optical media, and magnetic media.

The example computer system 700 may be used to implement the clientdevice 140, and the event moderator 130 may use an example computersystem 700 to interface with the messaging platform 120. In oneembodiment, the messaging platform 120 and the content source 110 areimplemented on servers that include many of the components of theexample computer system 700 but may omit components including thedisplay unit 710, the alphanumeric input device 712, and/or the cursorcontrol device 714.

Additional Configuration Considerations

The disclosed embodiments beneficially allow for creation of a SMCIabout an event that remains relevant as the event progresses. Byreceiving event data substantially in real time, and by associating thereceived event data with a component of an interactive message'stemplate, the interactive message presents content that updatessubstantially in real time with the event. The plurality of states in aninteractive message provide for presentation of components that arerelevant for the interactive message's focus given the development ofthe event. Interactive components provide a platform for a centralizedcommunity of accounts to interact and experience an event together.Interaction aggregations summarize interactions with the interactivemessage and can even provide a content source 110 with interaction datafrom a messaging environment (e.g., a social network environment, apublish-subscribe messaging environment). Interactive components thatidentify event data may be used to crowd source feature extraction froman event. The content source 110 receives feedback substantially in realtime based on interaction aggregations and event data.

Throughout this specification, plural instances may implementcomponents, operations, or structures described as a single instance.Although individual operations of one or more methods are illustratedand described as separate operations, one or more of the individualoperations may be performed concurrently, and nothing requires that theoperations be performed in the order illustrated. Structures andfunctionality presented as separate components in example configurationsmay be implemented as a combined structure or component. Similarly,structures and functionality presented as a single component may beimplemented as separate components. These and other variations,modifications, additions, and improvements fall within the scope of thesubject matter herein.

Certain embodiments are described herein as including logic or a numberof components, modules, or mechanisms, for example, as illustrated inFIGS. 2 and 7. Modules may constitute either software modules (e.g.,code embodied on a machine-readable medium or in a transmission signal)or hardware modules. A hardware module is tangible unit capable ofperforming certain operations and may be configured or arranged in acertain manner. In example embodiments, one or more computer systems(e.g., a standalone, client or server computer system) or one or morehardware modules of a computer system (e.g., a processor or a group ofprocessors) may be configured by software (e.g., an application orapplication portion) as a hardware module that operates to performcertain operations as described herein.

In various embodiments, a hardware module may be implementedmechanically or electronically. For example, a hardware module maycomprise dedicated circuitry or logic that is permanently configured(e.g., as a special-purpose processor, such as a field programmable gatearray (FPGA) or an application-specific integrated circuit (ASIC)) toperform certain operations. A hardware module may also compriseprogrammable logic or circuitry (e.g., as encompassed within ageneral-purpose processor or other programmable processor) that istemporarily configured by software to perform certain operations. Itwill be appreciated that the decision to implement a hardware modulemechanically, in dedicated and permanently configured circuitry, or intemporarily configured circuitry (e.g., configured by software) may bedriven by cost and time considerations.

The various operations of example methods described herein may beperformed, at least partially, by one or more processors, e.g.,processor 702, that are temporarily configured (e.g., by software) orpermanently configured to perform the relevant operations. Whethertemporarily or permanently configured, such processors may constituteprocessor-implemented modules that operate to perform one or moreoperations or functions. The modules referred to herein may, in someexample embodiments, comprise processor-implemented modules.

The one or more processors may also operate to support performance ofthe relevant operations in a “cloud computing” environment or as a“software as a service” (SaaS). For example, at least some of theoperations may be performed by a group of computers (as examples ofmachines including processors), these operations being accessible via anetwork (e.g., the Internet) and via one or more appropriate interfaces(e.g., application program interfaces (APIs)).

The performance of certain of the operations may be distributed amongthe one or more processors, not only residing within a single machine,but deployed across a number of machines. In some example embodiments,the one or more processors or processor-implemented modules may belocated in a single geographic location (e.g., within a homeenvironment, an office environment, or a server farm). In other exampleembodiments, the one or more processors or processor-implemented modulesmay be distributed across a number of geographic locations.

Some portions of this specification are presented in terms of algorithmsor symbolic representations of operations on data stored as bits orbinary digital signals within a machine memory (e.g., a computermemory). These algorithms or symbolic representations are examples oftechniques used by those of ordinary skill in the data processing artsto convey the substance of their work to others skilled in the art. Asused herein, an “algorithm” is a self-consistent sequence of operationsor similar processing leading to a desired result. In this context,algorithms and operations involve physical manipulation of physicalquantities. Typically, but not necessarily, such quantities may take theform of electrical, magnetic, or optical signals capable of beingstored, accessed, transferred, combined, compared, or otherwisemanipulated by a machine. It is convenient at times, principally forreasons of common usage, to refer to such signals using words such as“data,” “content,” “bits,” “values,” “elements,” “symbols,”“characters,” “terms,” “numbers,” “numerals,” or the like. These words,however, are merely convenient labels and are to be associated withappropriate physical quantities.

Unless specifically stated otherwise, discussions herein using wordssuch as “processing,” “computing,” “calculating,” “determining,”“presenting,” “displaying,” or the like may refer to actions orprocesses of a machine (e.g., a computer) that manipulates or transformsdata represented as physical (e.g., electronic, magnetic, or optical)quantities within one or more memories (e.g., volatile memory,non-volatile memory, or a combination thereof), registers, or othermachine components that receive, store, transmit, or displayinformation.

As used herein any reference to “one embodiment” or “an embodiment”means that a particular element, feature, structure, or characteristicdescribed in connection with the embodiment is included in at least oneembodiment. The appearances of the phrase “in one embodiment” in variousplaces in the specification are not necessarily all referring to thesame embodiment.

Some embodiments may be described using the expression “coupled” and“connected” along with their derivatives. For example, some embodimentsmay be described using the term “coupled” to indicate that two or moreelements are in direct physical or electrical contact. The term“coupled,” however, may also mean that two or more elements are not indirect contact with each other, but yet still co-operate or interactwith each other. The embodiments are not limited in this context.

As used herein, the terms “comprises,” “comprising,” “includes,”“including,” “has,” “having” or any other variation thereof, areintended to cover a non-exclusive inclusion. For example, a process,method, article, or apparatus that comprises a list of elements is notnecessarily limited to only those elements but may include otherelements not expressly listed or inherent to such process, method,article, or apparatus. Further, unless expressly stated to the contrary,“or” refers to an inclusive or and not to an exclusive or. For example,a condition A or B is satisfied by any one of the following: A is true(or present) and B is false (or not present), A is false (or notpresent) and B is true (or present), and both A and B are true (orpresent).

In addition, use of the “a” or “an” are employed to describe elementsand components of the embodiments herein. This is done merely forconvenience and to give a general sense of the invention. Thisdescription should be read to include one or at least one and thesingular also includes the plural unless it is obvious that it is meantotherwise.

Upon reading this disclosure, those of skill in the art will appreciatestill additional alternative structural and functional designs for asystem and a process for creating an interactive message through thedisclosed principles herein. Thus, while particular embodiments andapplications have been illustrated and described, it is to be understoodthat the disclosed embodiments are not limited to the preciseconstruction and components disclosed herein. Various apparentmodifications, changes and variations may be made in the arrangement,operation and details of the method and apparatus disclosed hereinwithout departing from the spirit and scope defined in the appendedclaims.

1-20. (canceled)
 21. A system of a social networking platform,comprising: one or more processors; and computer-readable storage devicecoupled to the one or more processors and having instructions storedthereon which, when executed by the one or more processors, cause theone or more processors to perform operations comprising: receiving eventdata from a content source, the event data describing facets of a mediaevent; forming an interactive message based on the event data andaccording to a message template, wherein forming the interactiveincludes associating event data with one or more components of themessage template; transmitting the interactive message to a plurality ofclient devices each associated with a respective one of a plurality ofuser accounts of the social networking platform, the interactive messagebeing transmitted as a social media content item on the socialnetworking platform; receiving, from at least one client device of theplurality of client devices, a report of a first interaction with theinteractive message by a first user; updating, based on the report, theinteractive message to provide an updated interactive message thatincludes an indication of the first interaction received in the report;and transmitting the updated interactive message to the at least oneclient device.
 22. The system of claim 21, wherein the operationsfurther comprise extracting one or more features from the media event,wherein the one or more processors extract the one or more features byrecognizing one or more of a face, an object, an audio, a speech, atext, numerical data, and meaningful breakpoints, in the media event;and identifying at least one feature that indicates an update in themedia event, wherein the interactive message is updated in response toidentifying the at least one feature.
 23. The system of claim 21,wherein the report indicates that the first user provided an answer to aquestion presented in the interactive message, and the operationsfurther comprise comparing the answer to the update in the media eventto determine whether the first user answered the question correctly orincorrectly, wherein the updated interactive message includes acomponent that indicates whether the first user answered the questioncorrectly or incorrectly.
 24. The system of claim 21, wherein the reportindicates that the first user provided a first answer to a questionpresented in the interactive message, and the updated interactivemessage includes a component that indicates a number or a percentage ofusers of the plurality of users who have provided a same answer as thefirst answer.
 25. The system of claim 21, wherein the event dataincludes one or more of an image, a text, and numerical data provided bythe content source.
 26. The system of claim 21, wherein the interactivemessage is transmitted to the plurality of client devices during abroadcast of the media event.
 27. The system of claim 21, wherein theoperations further comprise identifying the plurality of user accountsfrom user accounts of the social networking platform, wherein a seconduser account of the plurality of user accounts is identified bydetermining that a user interest associated with the second user accounton the social networking platform is relevant to a subject matter of themedia event.
 28. The system of claim 27, wherein the user interest isinferred based on a history of activities of the user on the socialnetworking platform.
 29. The system of claim 28, wherein activities inthe history of activities include one or more actions of reading socialmedia content items (SMCI), authoring SMCI, posting SMCI, andinteracting with interactive messages on the social networking platform.30. The system of claim 21, wherein the operations further comprisereceiving, from a moderator account of the plurality of user accounts, arequest to initiate the interactive message, the request comprising anidentification of the media event, wherein a moderator user of themoderator account specifies the plurality of user accounts to whom theinteractive message is transmitted.
 31. The system of claim 21, whereinthe operations further comprise receiving, from a moderator account ofthe plurality of user accounts, a request to initiate the interactivemessage, the request comprising an identification of the media event,wherein each of the plurality of user accounts has a unidirectional or abidirectional connection with the moderator account on the socialnetworking platform.
 32. The system of claim 21, wherein the operationsfurther comprise identifying a connection graph of a second user accountof the plurality of user accounts to whom the interactive message istransmitted, the connection graph including an identification of a thirduser account that is connected to the second user account on the socialnetworking platform; and sending the interactive message to the thirduser account.
 33. The system of claim 21, wherein the report indicatesthat the first interaction with the interactive message includes acomment, a selection of an item, or a response to a question presentedon the interactive message, or a reaction to an interaction previouslyprovided by a user.
 34. A method performed by a social networkingplatform implemented on one or more computers, the method comprising:receiving event data from a content source, the event data describingfacets of a media event; forming an interactive message based on theevent data and according to a message template, wherein forming theinteractive includes associating event data with one or more componentsof the message template; transmitting the interactive message to aplurality of client devices each associated with a respective one of aplurality of user accounts of the social networking platform, theinteractive message being transmitted as a social media content item onthe social networking platform; receiving, from at least one clientdevice of the plurality of client devices, a report of a firstinteraction with the interactive message by a first user; updating,based on the report, the interactive message to provide an updatedinteractive message that includes an indication of the first interactionreceived in the report; and transmitting the updated interactive messageto the at least one client device.
 35. The method of claim 34, furthercomprising extracting one or more features from the media event, whereinthe one or more computers extract the one or more features byrecognizing one or more of a face, an object, an audio, a speech, atext, numerical data, and meaningful breakpoints, in the media event;and identifying at least one feature that indicates an update in themedia event, wherein the interactive message is updated in response toidentifying the at least one feature.
 36. The method of claim 34,wherein the report indicates that the first user provided an answer to aquestion presented in the interactive message, and the method furthercomprises comparing the answer to the update in the media event todetermine whether the first user answered the question correctly orincorrectly, wherein the updated interactive message includes acomponent that indicates whether the first user answered the questioncorrectly or incorrectly.
 37. The method of claim 34, further comprisingidentifying the plurality of user accounts from user accounts of thesocial networking platform, wherein a second user account of theplurality of user accounts is identified by determining that a userinterest associated with the second user account on the socialnetworking platform is relevant to a subject matter of the media event.38. The method of claim 37, wherein the user interest is inferred basedon a history of activities of the user on the social networkingplatform.
 39. The method of claim 34, further comprising identifying aconnection graph of a second user account of the plurality of useraccounts to whom the interactive message is transmitted, the connectiongraph including an identification of a third user account that isconnected to the second user account on the social networking platform;and sending the interactive message to the third user account.
 40. Oneor more non-transitory, computer-readable storage media storing one ormore instructions executable by a computer system of a social networkingplatform to perform operations comprising: receiving event data from acontent source, the event data describing facets of a media event;forming an interactive message based on the event data and according toa message template, wherein forming the interactive includes associatingevent data with one or more components of the message template;transmitting the interactive message to a plurality of client deviceseach associated with a respective one of a plurality of user accounts ofthe social networking platform, the interactive message beingtransmitted as a social media content item on the social networkingplatform; receiving, from at least one client device of the plurality ofclient devices, a report of a first interaction with the interactivemessage by a first user; updating, based on the report, the interactivemessage to provide an updated interactive message that includes anindication of the first interaction received in the report; andtransmitting the updated interactive message to the at least one clientdevice.